package com.erp4j.dynamicfield.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.JsonNode;
import lombok.Data;

import java.time.LocalDateTime;

@Data
@TableName("field_definition")
public class FieldDefinition {
    @TableId(type = IdType.AUTO)
    private Long id;
    private Long moduleId;
    private String fieldName;             // 用户定义的字段名
    private String systemFieldName;       // 系统生成的字段名(仅扩展字段)
    private String displayName;           // 显示名称
    private String formComponentType;     // 表单组件类型
    private Boolean isQueryable;          // 是否可查询
    private String queryComponentType;    // 查询组件类型
    private Boolean isTableDisplay;       // 是否表格显示
    private String fieldType;             // 字段类型
   // private JsonNode options;             // 选项配置
    private Integer sortOrder;            // 排序号
    private String defaultValue;          // 默认值
    private Boolean isDisabled;           // 是否禁止修改
    private String disabledCondition;     // 条件禁止表达式
    private Boolean isBaseField;          // 是否为固定字段
    private Boolean isRequired;           // 是否必填
    private String queryType;             // 查询类型(like,eq,between等)
    private LocalDateTime createTime;
    private LocalDateTime updateTime;
}
